Verification of Program Transformations with Inductive Refinement Types
نویسندگان
چکیده
High-level transformation languages like Rascal include expressive features for manipulating large abstract syntax trees: first-class traversals, pattern matching, backtracking, and generalized iterators. We present the design implementation of an interpretation tool, Rabit, verifying inductive type shape properties transformations written in such languages. describe how to perform based on operational semantics, specifically focusing challenges arising when analyzing traversals matching. Finally, we evaluate Rabit a series (normalization, desugaring, refactoring, code generators, inference, etc.) showing that can effectively verify stated properties.
منابع مشابه
Theory Refinement for Program Verification
Recent progress in automated formal verification is to a large degree due to the development of constraint languages that are sufficiently light-weight for reasoning but still expressive enough to prove properties of programs. Satisfiability modulo theories (SMT) solvers implement efficient decision procedures, but offer little direct support for adapting the constraint language to the task at ...
متن کاملProgram Verification with Flow-Effect Types
This paper develops a flow sensitive type system for higher order programming languages. Flow-effect types are a novel form of type that combine the notion of temporal ordering inherent in type effect systems, with subtype constraint systems which focus on unordered dataflow. The resulting system achieves a high level of precision by cutting very close to the operational behavior of programs. T...
متن کاملCompositional Verification of Relaxed-Memory Program Transformations
is paper is about verifying program transformations on an axiomatic relaxed memory model of the kind used in C/C++ and Java. Relaxed models present particular challenges for verifying program transformations, because they generate many additional modes of interaction between code and context. For a block of code being transformed, we dene a denotation from its behaviour in a set of representa...
متن کاملApplication of Automatic Transformations to Program Verification
A technique fo r incorpora t ing automatic t ransformat ions i n to processes such as the app l i ca t i on of inference r u l e s , subsumptlon, and demodulation provides a mechanism fo r improving search s t ra teg ies fo r theorem proving problems a r i s i n g from the f i e l d of program v e r i f i c a t i o n . The incorpora t ion of automatic t ransformat ions i n t o the inference pro...
متن کاملQuotient inductive-inductive types
Higher inductive types (HITs) in Homotopy Type Theory (HoTT) allow the definition of datatypes which have constructors for equalities over the defined type. HITs generalise quotient types, and allow to define types which are not sets in the sense of HoTT (i.e. do not satisfy uniqueness of equality proofs) such as spheres, suspensions and the torus. However, there are also interesting uses of HI...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: ACM Transactions on Software Engineering and Methodology
سال: 2021
ISSN: ['1049-331X', '1557-7392']
DOI: https://doi.org/10.1145/3409805